def dining_hall_flow():
    print("===== 食堂打饭流程模拟 =====")
    
    # 1. 初始状态：是否有饭卡（条件判断：进入流程的前提）
    has_card = input("请问你带饭卡了吗？（y/n）：").strip().lower()
    if has_card != "y":
        print("❌ 没带饭卡无法就餐，流程结束！")
        return  # 终止流程
    
    # 2. 饭卡余额检查（条件判断：支付的前提）
    card_balance = 25.0  # 初始余额
    print(f"\n📌 你的饭卡余额：{card_balance} 元")
    
    # 3. 选餐环节（循环+条件判断：直到选到合法餐品）
    meals = {
        1: {"name": "红烧肉套餐", "price": 18},
        2: {"name": "番茄炒蛋盖饭", "price": 12},
        3: {"name": "牛肉面", "price": 15},
        4: {"name": "素食套餐", "price": 10}
    }
    
    print("\n🍽️  今日菜品：")
    for num, meal in meals.items():
        print(f"   {num}. {meal['name']} - {meal['price']} 元")
    
    while True:  # 循环：直到选择有效菜品
        try:
            choice = int(input("\n请输入菜品编号（1-4）："))
            if choice not in meals:
                print("❌ 编号错误，请选择1-4之间的数字！")
                continue  # 跳过后续，重新循环
            
            selected_meal = meals[choice]
            # 判断余额是否足够（条件分支）
            if selected_meal["price"] > card_balance:
                print(f"❌ 余额不足！{selected_meal['name']}需要{selected_meal['price']}元，你的余额仅剩{card_balance}元")
                # 可选：是否换低价餐品（嵌套条件）
                change_meal = input("是否更换低价餐品？（y/n）：").strip().lower()
                if change_meal != "y":
                    print("❌ 放弃就餐，流程结束！")
                    return
            else:
                break  # 选餐成功，退出循环
        except ValueError:
            print("❌ 输入错误，请输入数字！")
    
    # 4. 支付环节（流程推进：余额扣减）
    card_balance -= selected_meal["price"]
    print(f"\n✅ 支付成功！已扣除 {selected_meal['price']} 元")
    print(f"📌 饭卡剩余余额：{card_balance} 元")
    
    # 5. 取餐与用餐（流程推进）
    print(f"\n🍲 请取餐：{selected_meal['name']}")
    eat_time = input("请问你需要堂食（10分钟）还是打包（2分钟）？（1=堂食/2=打包）：").strip()
    
    # 6. 用餐时长模拟（条件判断：不同选择对应不同流程）
    if eat_time == "1":
        print("⌛ 正在堂食用餐...（10分钟后）")
        print("😋 用餐完毕！")
        # 堂食需收盘（分支流程）
        return_tray = input("是否将餐盘送至回收处？（y/n）：").strip().lower()
        if return_tray == "y":
            print("👍 感谢配合，文明用餐！")
        else:
            print("⚠️  请记得回收餐盘，保持环境整洁哦～")
    elif eat_time == "2":
        print("⌛ 正在打包...（2分钟后）")
        print("🥡 打包完成！祝你用餐愉快～")
    else:
        print("❌ 输入错误，默认按堂食处理～")
        print("😋 用餐完毕！记得回收餐盘哦～")
    
    print("\n===== 食堂打饭流程结束 =====")

# 执行流程
dining_hall_flow()